Method for controlling link connections in a communication system and corresponding communication system

ABSTRACT

To control links in a communication system, a message having information about the transmission format is transmitted in response to a link request. After the determination of if sufficient transmission capacity is available for this transmission format, link data and priority attributes are used to check if an existing link can be stopped in favor of the desired link.

BACKGROUND INFORMATION

[0001] The present invention starts out from a method for controlling connections in a communication system.

[0002] A serial bus system, in which various terminals (nodes) are linked by either a cable having 4-6 conductors or an optical fiber, is known from IEEE Standard 1394 [1]. In this context, at least one node can be designed to be able to assume additional data-management functions for the network (bus management).

[0003] In addition to the above-mentioned standard, there is a bus-independent extension which is referred to by the name HAVi (Home Audio Video interoperability) [2]. This HAVi specification describes, in particular, the remote control of devices, using a resource manager which seizes a resource on demand and releases it again.

[0004] The HAVi standard [2] provides that a request for transmission capacity, which cannot be satisfied due to the current bus loading, is rejected.

SUMMARY OF THE INVENTION

[0005] Using the measures pointed out in claims 1 and 10, important information may also be transmitted, when other data transmissions do not allow the communication system to provide the bandwidth necessary for the new link to the important information.

[0006] One or more existing, active links are ended or parked, when the priority attribute assigned to them has a lower significance than that of the desired link.

[0007] When a link is desired, a message is sent which contains information about the transmission format of the desired link, such as bandwidth and type of link;

[0008] it is determined if sufficient transmission capacity is available for this transmission format;

[0009] if not, link data and priority attributes are used to check if at least one link is present, which is assigned a lower priority attribute than the desired link;

[0010] in the latter case, the transmission of data is stopped for that/those links having a lower priority attribute, and the desired link is established.

[0011] A communication system according to the present invention may be, in particular, a bus system for exchanging data between resources of a motor vehicle, having system elements that possess means for setting up communication links via the bus system, and having a master system element that is equipped for the following system functions:

[0012] to check if sufficient transmission capacity is available in the bus system;

[0013] to collect link data and priority attributes of system elements;

[0014] to evaluate link data and priority attributes of the system elements with a view to if a desired transmission-format link having a predefined priority attribute can be set up at the cost of active links in the communication system having a lower priority attribute.

[0015] According to claims 2 and 3, it is particularly advantageous not to end links having a lower priority attribute, but rather to temporarily stop the data transmission belonging to them, until the link having the higher priority attribute has ended. These measures allow the interrupted link to be continued without delay, and the establishment of a link does not have to be re-initiated.

[0016] According to claim 4, data accumulating in the meantime may be temporarily stored and only transmitted after the enabling of the link having the lower priority attribute. With the aid of this measure, no loss of data is created during the time in which the link having the higher priority attribute takes precedence.

[0017] According to claim 5, it is advantageous to assign priority attributes to the software elements of the communication system themselves. When, according to claim 6, these priority attributes assigned to the software elements are also allocated to the links with regard to at least their priority rank, the advantages shown in German Patent Application No. 100 40 012.4, such as the reduction in frequent manual inputs, can additionally be utilized.

[0018] The storage of the priority attributes of the software elements and/or links together with the link data according to claim 7 allows a rapid evaluation and decision in favor of links having a high priority attribute. This equally applies to the measures of claims 8 and 9.

[0019] The communication system according to claim 10 may be further developed in an advantageous manner by the measures of claim 11, in that the superordinate software element is set up to temporarily stop the data transmission of active links having a lower priority attribute, until a link having a higher priority attribute is ended.

BRIEF DESCRIPTION OF THE DRAWINGS

[0020] Exemplary embodiments of the present invention are explained in detail in light of the drawings. The figures show:

[0021]FIG. 1 the network topology of a communication system on which the present invention is based; and

[0022]FIG. 2 the sequence of the priority-based link management according to the present invention.

DESCRIPTION OF THE EXEMPLARY EMBODIMENTS

[0023] The present invention is explained in light of the serial bus system according to the IEEE Standard 1394 [1], whereby reference is also made to the extension according to the HAVi specification [2]. To provide a better understanding, IEEE Standard 1394 and the HAVi specification will be discussed prior to the actual explanation of the present invention.

[0024] According to FIG. 1, the different terminals (nodes) are linked by either a cable having 4-6 conductors or an optical fiber waveguide 1. In this context, a node may optionally be constructed as an terminal (leaf) 400 or a relay node (branch) 200, 300. The top node is referred to as root 100. The use of different node types allows a suitable network topology to be set up. In this context, a leaf receives information packets and processes them, in case the target address of the packet matches its own. A branch must additionally transmit all the packets that it receives on a port to all of the other ports. IEEE 1394 provides for the network being self-configuring, i.e. after being switched on or after a reset, all of the nodes transmit some selected information items about themselves to the network. In this context, this information is received by all of the nodes. One node can be designed here to be able to assume additional data-management functions for the network (bus management). To this end, it collects all of the information of the other nodes, processes it, and internally stores it in a suitable manner. If several nodes have bus-management capabilities, there is a competitive process from which one node emerges as the victor and then assumes the bus management.

[0025] In addition to the process as described in the specifications for IEEE 1394, there is the bus-independent extension, HAVi, which is suitable for use in an IEEE 1394 network. In particular, the remote control of devices from any other point in the network is described in the HAVi specification. To this end, a distributed model is described in which the devices are controlled by control modules, so-called device control modules (DCM). These DCM's run as a software element on the device which wants to execute the control functions on another device. In this context, each DCM is specific to a particular device or a device class. Representing a further group of software elements are the functional component modules, of which several can be hierarchically arranged underneath each DCM, and of which each is responsible for the control of a specific functional part of a device.

[0026] An important requirement for such a system is to continually process colliding instances of access to a device, i.e. the processing of two or more simultaneous requests to seize one device. In this context, one can differentiate between devices that allow more than one instance of access, e.g. DAB tuners, and those that each allow only one instance of access, e.g. loudspeakers. The HAVi standard provides one or more resource managers 400, which seize a resource (device) 100, 200, 300 on demand and release it again. In the terminology of HAVi, there are so-called contenders, which designation is given to software elements, and which request access to one or more resources. In addition, there are clients, which are software elements presently accessing a resource. Therefore, a contender becomes a client after a successful request.

[0027] A client obtains the authorization to use a resource by reserving it. However, additional data-transmission capacity on the bus is generally needed for this purpose. This bus capacity is managed by so-called stream managers. A stream manager is, in particular, a master software element, which sets up a channel having the requested transmission rate and the requested link characteristics from a source to a target, in response to the request of another software element. If a sufficient amount of free transmission rate is not available to fulfill the new request, the inquiry is denied in the context of the HAVi specification.

[0028] The terms used in the following are briefly explained here to obtain a better understanding:

[0029] software element (SE): each software component in an HAVi system, i.e. all of the system components, applications, and drivers are designated as software elements.

[0030] registry (memory): the registry contains information on each software element available in the network and each available device. In this context, information about the individual software elements is stored in attributes. In addition to the predefined attributes, it is possible to add further ones. The architecture of the registry is a distributed system, i.e. each device may include a part of the entire registry, but it may also be supported centrally. This is inconsequential for access to the registry, since, if the occasion arises, the different entities of the registry independently exchange the required information inside the network.

[0031] stream manager (SM): the stream manager is used to set up, disconnect, and manage links between software elements and/or devices. The stream manager may be set up as a distributed system, as is the registry. In this context, special commands are used to obtain the state of all the stream managers or a particular stream manager.

[0032] software-element identifier (SEID): the software-element identifier is used as the unique identifier of a software element. A specific software element is addressed with the aid of the software-element identifier. The software-element identifier has a length of 80 bits and includes the unique device identifier (GUID, 64 bits) and a so-called software handle (16 bits), by which a software element is identified inside a device.

[0033] functional control module (FCM): a functional control module is a software element by which a functional unit of a device, e.g. a CD-ROM drive or an FM tuner is controlled.

[0034] The method of the present invention starts out from a network or communication system for use in vehicles. A fundamental requirement for use in a vehicle is the continual and predictable treatment of high-priority requests for resources (devices and data transmission). The existing HAVi standard [2] provides that a demand, which cannot be satisfied due to the current or planned bus loading, is rejected. Since important status messages, such as error warnings or driving instructions, must be transmitted in the vehicle, the use of a priority-based link management is advantageous. To this end, the method according to the present invention cooperates with the method described in [3] in a particularly advantageous manner. The prioritization of instances of access to devices described in it is used in a corresponding manner for the prioritization of links. In this context, a link receives the same priority assigned to the initiating software element.

[0035] The priority associated with a software element, e.g. an application or an FCM, is stored in an attribute in the registry, and there, it may be read out to the registry with the aid of a request (Registry: GetELEMENT). The attributes entered into the registry have the format ATT_XXXX, where XXXX stands for a meaningful name of the attribute. In the sequence, the designation ATT_Priority is used for the priority attribute, but a different designation that follows the fundamental format is also conceivable. Each attribute is assigned a value from a 32-bit range. In the HAVi standard, this range is split up in such a manner, that the range hex0000 0000 to hex7fff fff is reserved for system attributes, while the rest of the range (hex8000 0000 to hexffff ffff) is used for priority expansion. Since the attribute for the priority is not defined as a system attribute in the HAVi standard, a value from the upper range should be used for this, e.g. hex8000 0000.

[0036] The function requests, Registry::GetELEMENT and Registry::Multiple GetELEMENT, are used to search for software elements having a particular attribute. In this context, one may search for one or more attribute descriptors, e.g. ATT Priority and the value entered under this descriptor. Each function then gives a list of the SEID's of the software elements, to which the transferred search criteria apply. When the SEID of a software element is instead known, the set of attributes stored for it may be retrieved by the call, Registry::RetrieveElement.

[0037] The method of the present invention according to FIG. 2 starts out from a contender 11 which requests its link to a device or another software element. To this end, it transmits call 1, Streammanager::FlowTo, to data-stream manager (stream manager) 12. This call includes the source and sink and a pattern, which contain some information about the transmission format, such as bandwidth and link types. With the aid of this information, stream manager 12 determines if the bus system is able to carry the requested data stream, i.e. if enough bandwidth of the requested type is available. If this is the case, the corresponding link is set up and a link identifier is given back to the software element calling. If a sufficient amount of bandwidth is not available to satisfy the request, then the HAVi standard provides for the request being denied. However, a stream manager 12 working according to the method of the present invention makes an inquiry, RetrieveElement 2, to registry 13, in order to determine the value of attribute ATT_Priority of the software element that is calling. This inquiry 2 is answered by registry 13 with answer 3. Stream manager 12 then collects information regarding all or selected links active in the network (function: Streammanager::Get Global Connection Map) 4. Using an internal method, the stream manager selects one, several, or all of the software elements having active links and extracts (inquiry 5) the corresponding priority for these software elements (clients) 14 in registry 13 ((Registry::RetrieveElement). This inquiry is answered, using reply 6 from clients 14. With the aid of the link data and the priorities of the software elements (clients) 14, stream manager 12 selects the ones that have a lower priority and appropriate links with regard to the type of link and the transmission rate. The links ascertained in this manner are then ended (7), and affected clients 14 are informed that their data transmission is being stopped (8), in order to make the corresponding bandwidth available for the higher-priority link.

[0038] The following examples, which are explained in light of the topology of the communication system according to FIG. 2, should clarify this sequence of the method. In this context, 100, 200, and 300 designate devices in the communication system, and 400 designates a stream manager. Devices 200 and 300 maintain a low-priority link, which is set up by device 300 and seizes the entire link capacity of the network. With the help of stream manager 400, device 100 now attempts to set up a link to device 200. Stream manager 400 ascertains the available bandwidth (none). The inquiry of the priority of device 100 in registry 13 yields the relatively high value of 3. In addition, stream manager 400 compiles a list of the active links. The initiator of the active link can be recognized from this list (device 300). The inquiry about the priority of device 300 yields the lower priority 5. Stream manager 400 then decides to end the link between device 300 and device 200. For this purpose, it transmits a message in which the termination of the link is reported. Afterwards, all of the resources associated with this link are immediately available again, and stream manager 400 signals to device 100 that a link has been successfully set up and transmits a link-identity number.

[0039] A further example again assumes the topology according to FIG. 2. However, both devices 200 and 300 and stream manager 400 are able to park a link this time, i.e. to interrupt it temporarily and continue it later. In this manner, the higher-priority request of device 100 does not result in the termination of the link of device 300 to device 200, but rather stream manager 400 informs the participants that the link is being parked. After the resources are freed by device 100, stream manager 400 informs devices 200 and 300 that the link may be activated again. The data accumulated during the parking may be temporarily stored, in order to first transmit it after the ending of the link having a higher priority attribute.

[0040] To implement, in particular, the method according to the present invention, system elements 100, 200, 300; 11, 13, 14 are provided with means for setting up communication links via the bus system. A superordinate system element (data-stream manager or stream manager) 12 or 400 is equipped for the following system functions:

[0041] to check if sufficient transmission capacity is available in the bus system;

[0042] to collect link data and priority attributes of system elements;

[0043] to evaluate link data and priority attributes of system elements 100, 200, 300 or 11, 13, 14 with a view to if a desired link of a transmission format having a predefined priority attribute can be established at the cost of active links in the communication system having a lower priority attribute.

[0044] In a further refinement, superordinate system element 12, 400 may be equipped to temporarily stop the data transmission of active links having a lower priority attribute, until a link having a higher priority attribute is ended.

LITERATURE

[0045] [1] IEEE, “P1394a Draft for a High Performance Serial Bus (Supplement)”

[0046] [2] HAVi Organization, “The HAVi Specification 1.0”

[0047] [3] DE P10040012.4 

What is claimed is:
 1. A method for controlling links in a communication system, in particular a bus system, having the following steps: when a link is desired, a message is sent (1) which contains information about the transmission format of the desired link, such as bandwidth, type of link; it is determined if sufficient transmission capacity is available for this transmission format (12); if not, it is checked, using link data and priority attributes, if at least one link is present which is assigned a lower priority attribute than the desired link (5, 6); in the latter case, the transmission of data is stopped (8) for that/those links having the lower priority attribute(s), and the desired link is set up.
 2. The method as recited in claim 1, wherein the link(s) having lower priority attribute(s) is/are not ended, but the corresponding data transmission is only stopped temporarily, until the link having the higher priority attribute is ended.
 3. The method as recited in claim 2, wherein, after the link having the higher priority attribute is ended, the data transmission for the stopped link(s) having a lower priority attribute is/are continued.
 4. The method as recited in claims 2 and 3, wherein the data accumulating between the stopping and the continuing of the data transmission are temporarily stored and, in particular, only transmitted when the data transmission is continued.
 5. The method as recited in one of claims 1 through 4, wherein the software elements (100, 200, 300; 11, 13, 14) provided in the communication system, such as applications and functional units for controlling devices, are assigned priority attributes.
 6. The method as recited in claim 5, wherein the priority attributes assigned to the software elements (100, 200, 300; 11, 13, 14) are also assigned to the links, at least with respect to their priority range.
 7. The method as recited in one of claims 1 through 6, wherein the priority attributes of the software elements (100, 200, 300; 11, 13, 14) and/or links are stored together with the link data.
 8. The method as recited in claim 7, wherein a superordinate software element, which functions as, in particular, a data-stream manager (12, 400), directs an inquiry to the memory (13) for the priority attributes of the software elements (100, 200, 300; 11, 13, 14) and/or links or link data, in order to determine the value of the priority attribute of the software element having a desire to link; and the superordinate software elements/the data-stream manager (12, 400) additionally collects information about all or selected links active in the communication system and extracts their priority attributes from the memory (13).
 9. The method as recited in claim 8, wherein, using the priority attributes for the active links in the communication system and the priority attribute of the initiator of the link request, the superordinate software element/the data-stream manager (12, 400) stops the link(s) whose priority attribute(s) is/are lower than the priority attribute of the initiator.
 10. A communication system, in particular a bus system for the exchange of data between resources of a motor vehicle, having system elements (100, 200, 300; 11, 13, 14) which have means for setting up communication links via the bus system, and having a superordinate system element (12, 400) which is equipped for the following system functions: to check if sufficient transmission capacity is available in the bus system; to collect link data and priority attributes of system elements; to evaluate link data and priority attributes of the system elements (100, 200, 300; 11, 13, 14) with a view to if a desired link of a transmission format having a predefined priority attribute may be set up at the cost of active links in the communication system having a lower priority attribute.
 11. The communication system as recited in claim 10, wherein the superordinate system element (12, 400) is set up to temporarily stop the data transmission of active links having a lower priority attribute, until a link having a higher priority attribute is ended. 